// Archivo JScript

function getData(){
	alert("obteniendo datos...");
    getDateNow();
    getDelitos();
    getCiudades();
    getTipoObjetos();
	crearCalendario("TDfechaDelito", "fechaDelito", 1);
}

function getDateNow(){
    var amd = new Date();
    var anio = amd.getFullYear();
    var mes = amd.getMonth();
    var dia = amd.getDay();
    var fecha = document.createTextNode(anio + "/" + mes + "/" + dia);
    var inputDate = document.getElementById("fechaDenuncia");
    inputDate.setAttribute("value", fecha);
}
function getDelitos(){
    sendRequest("delito");
}
function getCiudades(){
    sendRequest("ciudad");
}
function getTipoObjetos(){
    sendRequest("objetotipo");
}
function getSubdelitos(){
    sendRequest("subdelito");
}
function getAreas(){
    sendRequest("area");
}
function isVehiculo(){
	var tipo = document.getElementByName("objetotipo").options[document.getElementByName("objetotipo").selectedIndex].value;
    if(tipo=="Vehiculo")
	{
		var panel = document.getElementById("isVehiculo");
		while(panel.childNodes.length>0){
			panel.removeChild(panel.childNodes[0]);
		}
		var form = document.createElement("form");
		var tmatricula = document.createTextNode("Matricula");
		var matricula = document.createElement("input");
		matricula.setAttribute("name", "matricula");
		matricula.setAttribute("type", "text");
		matricula.setAttribute("size", "15");
		var salto = document.createElement("br");
		var tplaca = document.createTextNode("Placa");
		var placa = document.createElement("input");
		placa.setAttribute("name", "placa");
		placa.setAttribute("type", "text");
		placa.setAttribute("size", "15");
		form.appendChild(tmatricula);
	    form.appendChild(matricula);
    	form.appendChild(salto);
	    form.appendChild(tplaca);
	    form.appendChild(placa);
    	panel.appendChild(form);
	}
}
YAHOO.util.Event.onDOMReady(init);
function viewMapa(){
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(-2.065484, -79.656478), 7);
        map.addControl(new GMapTypeControl());
        map.addControl(new GLargeMapControl());
        map.addControl(new GScaleControl());
        map.addControl(new GOverviewMapControl());
        map.setMapType(G_NORMAL_MAP);
        var point = new GPoint (-4,40);
        var marker = new GMarker(point);
        map.addOverlay(marker);
        GEvent.addListener(map, "click", function (overlay,point){
			if (point){
				marker.setPoint(point);
				document.posicion.latitud.value = point.lat();
				document.posicion.longitud.value = point.lng();
				}
			}
		);
        var point = new GLatLng(-2.7565043855432503,-79.288330078125);
		map.addOverlay(new GMarker(point));
    }
}
YAHOO.namespace("example.container");
function init() {
    var div = document.getElementById("overlay");
    div.style.prototype("visility","hidden");
    var map = document.getElementById("map");
    map.style.prototype("width","800px");
    map.style.prototype("height","600px");
    YAHOO.example.container.overlay1 = new YAHOO.widget.Overlay("overlay", { xy:[120,70],
                                          visible:false,
                                          width:"800px",
                                          zIndex:1000,
                                          effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25} } );
    YAHOO.example.container.overlay1.render("example");
    YAHOO.util.Event.addListener("showMap", "click", YAHOO.example.container.overlay1.show, YAHOO.example.container.overlay1, true);
    YAHOO.util.Event.addListener("hide", "click", YAHOO.example.container.overlay1.hide, YAHOO.example.container.overlay1, true);
}
function cargarFoto(){
    var div = document.getElementById("foto");
    while(div.childNodes.length>0){
		div.removeChild(div.childNodes[0]);
	}
    var urlfoto = document.getElementByTagName("urlfoto").getAttribute("value");
    var img = document.createElement("img");
    img.setAttribute("src", urlfoto);
    div.appendChild(img);
}
function createXMLHttpRequest(){
    var xmlHttp;
    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
    else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
    return xmlHttp;
}
function sendRequest(tabla){
    var req = createXMLHttpRequest();
	var fk = null;
	if(tabla=="area"){
		fk = document.getElementByName("ciudad").options[document.getElementByName("ciudad").selectedIndex].value;
	}
	if(tabla=="subdelito"){
		fk = document.getElementByName("delito").options[document.getElementByName("delito").selectedIndex].value;
	}
    req.open("GET","http://localhost:8084/servicio/protegido/ListarEntidades?entidad="+tabla+"&fk="+fk);
    req.onreadystatechange = function()
    {
        manejador(req,tabla);
    };
    req.send(null);
}
function manejador(requerimiento,combo)
{
    if(requerimiento.readyState == 4)
    {
        if(requerimiento.status == 200)
        {
            var fileXML = requerimiento.responseXML;
            llenarCombo(fileXML,combo);
        }
        else
        {
            alert("Error al linkear datos");
        }
    }
}
function llenarCombo(filedat,tipo)
{
    var entidad = filedat.getElementsByTagName(tipo);
	while(entidad.childNodes.length>0){
        entidad.removeChild(entidad.childNodes[0]);
    }
    var combo = document.getElementByName(tipo); //Obtengo objeto Select
    var i;
    for(i=0; i<entidad.length; i++){
        var option = document.createElement("option");
		var id = entidad[i].getElementsByTagName("id");
		var name = entidad[i].getElementsByTagName("nombre");
		option.setAttribute("value", id);
		option.appendChild(name);
		combo.appendChild(option);
    }
}
function estilosAlternados()
{
	var col = false;
	var tabla = document.getElementById("estiloSebra");
	var rows = tabla.getElementsByTagName("tr");
	for (var i=0; i< rows.length; i++){
		rows[i].style.background = (col) ? 'White' : 'Gray';
		col = !col;
	}
}
function reqCiudades(){
    var req = createXMLHttpRequest();
    req.open("GET","ControladorCiudad?operacion=buscarXInicial&inicial="+document.getElementById("campo").value);
    req.onreadystatechange = function()
    {
        verificador(req);
    };
    req.send(null);
}
function verificador(requerimiento)
{
    if(requerimiento.readyState == 4)
    {
        if(requerimiento.status == 200)
        {
            var fileXML = requerimiento.responseXML;
            enlistar(fileXML);
        }
        else
        {
            //alert("Error al enlistar ciudades");
        }
    }
}

function enlistar(filedat){
    var ciudades = filedat.getElementsByTagName("ciudad");
	var tbody = document.getElementById("results");
	while(tbody.childNodes.length>0){
		tbody.removeChild(tbody.childNodes[0]);
	}
    var i;
    for(i=0; i<ciudades.length; i++){
        var name = ciudades[i].getElementsByTagName("nombre")[0];
		var fila = document.createElement("tr");
        var col = document.createElement("td");
        var textname = document.createTextNode(name.childNodes[0].nodeValue);
        col.appendChild(textname);
        fila.appendChild(col);
        tbody.appendChild(fila);
    }
    estilosAlternados();
}

function addArea()
{
    var areas = document.getElementById("areas");
    var formulario = document.createElement("form");

    var lnombre = document.createTextNode("Nombre de Area:");
    var tnombre = document.createElement("input");
    tnombre.setAttribute("type", "text");
    tnombre.setAttribute("name", "area");
    var lref = document.createTextNode("Referencia:");
    var treferencia = document.createElement("input");
    treferencia.setAttribute("type", "text");
    treferencia.setAttribute("name", "referencia");

    formulario.appendChild(lnombre);
    formulario.appendChild(tnombre);
    formulario.appendChild(lref);
    formulario.appendChild(treferencia);
    
    areas.appendChild(formulario);
}

function validarDatos(){
	var fechaDenuncia = document.getElementByName("fechaDenuncia").getAttribute("value");
	var descripcionDenuncia = document.getElementByName("descripcionDenuncia").getAttribute("value");
	var delito = document.getElementByName("delito").options[document.getElementByName("delito").selectedIndex].value;
	var subdelito = document.getElementByName("subdelito").options[document.getElementByName("subdelito").selectedIndex].value;
	var direccion = document.getElementByName("direccion").getAttribute("value");
	var fechaDelito = document.getElementByName("fechaDelito").getAttribute("value");
	var ciudad = document.getElementByName("ciudad").options[document.getElementByName("ciudad").selectedIndex].value;
	var area = document.getElementByName("area").options[document.getElementByName("area").selectedIndex].value;
    var objetotipo = document.getElementsByName("objetotipo").option[document.getElementsByName("objetotipo").selectedIndex].value;
    var legal = document.getElementsByName("legal").getAttribute("value");
    var serie = document.getElementsByName("serie").getAttribute("value");
    var objeto = document.getElementsByName("descripcionObjeto").getAttribute("value");
    var color = document.getElementsByName("color").getAttribute("value");
    var accesorio = document.getElementsByName("accesorio").getAttribute("value");
    var marca = document.getElementsByName("marca").getAttribute("value");
    var placa = document.getElementsByName("placa").getAttribute("value");
    var matricula = document.getElementsByName("matricula").getAttribute("value");
    var urlfoto = document.getElementsByName("urlfoto").getAttribute("value");
    var coordenada = document.getElementsByName("latitud").getAttribute("value") + document.getElementsByName("longitud").getAttribute("value");
    if(fechaDenuncia==""||descripcionDenuncia==""||delito==""||subdelito==""||direccion==""||fechaDelito==""||ciudad==""||area==""||objetotipo==""||legal==""||serie==""||objeto==""||color==""||accesorio==""||marca==""||placa==""||matricula==""||urlfoto==""||coordenada=="")
    {
        alert("Campos incorrectos, por favor introduzca los datos");
    }
    else
    {
        var req = createXMLHttpRequest();
        req.open("POST","http://localhost:8084/servicio/protegido/agregarDenuncia?fecha="+fechaDenuncia+"&descripcion="+descripcionDenuncia+"&delito="+delito+"&subdelito="+subdelito+"&direccion="+direccion+"&fechaDelito="+fechaDelito+"&ciudad="+ciudad+"&area="+area+"&objetotipo="+objetotipo+"&legal="+legal+"&serie="+serie+"&objeto="+objeto+"&color="+color+"&accesorio="+accesorio+"&marca="+marca+"&placa="+placa+"&matricula="+matricula+"&urlfoto="+urlfoto+"&coordenada="+coordenada);
        req.onreadystatechange = function()
        {
            verificarDatos();
        };
        req.send(null);
    }
}
function verificarDatos()
{
    if(requerimiento.readyState == 4)
    {
        if(requerimiento.status == 200)
        {
            alert("Datos guardados correctamente");
        }
        else
        {
            alert("Error al enviar datos");
        }
    }
}
